package com.example.calculadoraandroid;

import android.os.*;
import android.app.*;
import android.view.*;
import android.view.View.OnClickListener;
import android.widget.*;

public class MainActivity extends Activity implements OnClickListener{

	private String aux1="";
	private String aux2="";
	private double num1=0;
	private double num2=0;
	private String operacion="";
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		Button boton00=(Button)findViewById(R.id.Botton0);
		Button boton01=(Button)findViewById(R.id.Botton1);
		Button boton02=(Button)findViewById(R.id.Botton2);
		Button boton03=(Button)findViewById(R.id.Botton3);
		Button boton04=(Button)findViewById(R.id.Botton4);
		Button boton05=(Button)findViewById(R.id.Botton5);
		Button boton06=(Button)findViewById(R.id.Botton6);
		Button boton07=(Button)findViewById(R.id.Botton7);
		Button boton08=(Button)findViewById(R.id.Botton8);
		Button boton09=(Button)findViewById(R.id.Botton9);
		
		Button botonSumar=(Button)findViewById(R.id.BottonSuma);
		Button botonRestar=(Button)findViewById(R.id.BottonResta);
		Button botonMulti=(Button)findViewById(R.id.BottonMulti);
		Button botonDividir=(Button)findViewById(R.id.BottonDivision);
		Button botonIgual=(Button)findViewById(R.id.BottonIgual);
		
		boton00.setOnClickListener(this);
		boton01.setOnClickListener(this);
		boton02.setOnClickListener(this);
		boton03.setOnClickListener(this);
		boton04.setOnClickListener(this);
		boton05.setOnClickListener(this);
		boton06.setOnClickListener(this);
		boton07.setOnClickListener(this);
		boton08.setOnClickListener(this);
		boton09.setOnClickListener( this);
		
		botonSumar.setOnClickListener(this);
		botonRestar.setOnClickListener(this);
		botonMulti.setOnClickListener(this);
		botonDividir.setOnClickListener(this);
		botonIgual.setOnClickListener(this);
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	
	public void onClick(View v) {
		
		EditText texto= (EditText) findViewById(R.id.TxtNombre);
		
		if(v.getClass().equals(BotonNumero.class))
		{
			if(operacion.isEmpty())
			{
				Button aux=(BotonNumero) v;
				aux1+="" +aux.getText(); 
				num1=Double.parseDouble(aux1);
				texto.setText(aux1);
				
				
			}
			else
			{
				Button aux=(BotonNumero) v;
				aux2+="" +aux.getText();
				num2=Double.parseDouble(aux2);
				texto.setText(aux2);
				
			}
		}
		
		else{
			BotonOper oper=(BotonOper)v;
			
			if(oper.getText().equals("+"))
			{
				if(operacion.isEmpty())
				{
					operacion=""+oper.getText();
					texto.setText("+");
				}
				else
				{
					aux1=Operaciones.operacion(num1,num2,operacion);
					num1=Double.parseDouble(aux1);
					texto.setText(Operaciones.operacion(num1,num2,operacion));
					num2=0;
					aux2="";
					operacion="+";
				}
			}
			else if(oper.getText().equals("-"))
			{
				if(operacion.isEmpty())
				{
					operacion=""+oper.getText();
					texto.setText("-");
				}
				else
				{
					aux1=Operaciones.operacion(num1,num2,operacion);
					num1=Double.parseDouble(aux1);
					texto.setText(Operaciones.operacion(num1,num2,operacion));
					num2=0;
					aux2="";
					operacion="-";
				}
			}
			else if(oper.getText().equals("*"))
			{
				
				if(operacion.isEmpty())
				{
					operacion=""+oper.getText();
					texto.setText("*");
				}
				else
				{
					aux1=Operaciones.operacion(num1,num2,operacion);
					num1=Double.parseDouble(aux1);
					texto.setText(Operaciones.operacion(num1,num2,operacion));
					num2=0;
					aux2="";
					operacion="*";
				}
			}
			else if(oper.getText().equals("/"))
			{
				
				if(operacion.isEmpty())
				{
					operacion=""+oper.getText();
					texto.setText("/");
				}
				else
				{
					aux1=Operaciones.operacion(num1,num2,operacion);
					num1=Double.parseDouble(aux1);
					texto.setText(Operaciones.operacion(num1,num2,operacion));
					num2=0;
					aux2="";
					operacion="/";
				}
			}
			else if(oper.getText().equals("="))
			{
					
					
					texto.setText(Operaciones.operacion(num1,num2,operacion));
					aux1=Operaciones.operacion(num1,num2,operacion);
					num1=Double.parseDouble(aux1);
					num2=0;
					aux2="";
					operacion="";
				
				
			}
		}
		
		
		
	}

	


}
